Reasoning About Partial Functions in the Formal Development of Programs

نویسنده

  • Cliff B. Jones
چکیده

Partial functions and operators are used extensively in the formal development of programs and thus development methods have to clarify how to reason about them. There are a number of approaches which cover up the fact that “First Order Predicate Calculus” does not handle undefined logical values. There is also at least one specific “Logic of Partial Functions” (LPF) which tackles the issue at its root by using a weaker logic. Recently, we have come to realise that LPF fits a particular way of developing programs. This paper explains why LPF is a suitable logic for “posit and prove” development and explores some problems that other approaches present.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Software with Partial Functions: Automating Correctness Proofs via Nonstrict Explicit Domains∗

As our society becomes technologically more complex, computers are being used in greater and greater numbers of high consequence systems. Giving a machine control over the lives of humans can be disturbing, especially if the software that is run on such a machine has bugs. Formal reasoning is one of the most powerful techniques available to demonstrate the correctness of a piece of software. Wh...

متن کامل

A Formal Approach for Reasoning about theE ectiveness of Partial Evaluation ?

The motivation of partial evaluation is to improve eeciency while preserving program meaning. Rather surprisingly, relatively little attention has been paid to the development of formal methods for reasoning about the eeectiveness of this program transformation|usually, only experimental tests on particular languages and compilers are undertaken. In this work, we present a formal approach for m...

متن کامل

On the mechanisation of the logic of partial functions

It is well known that partial functions arise frequently in formal reasoning about programs. A partial function may not yield a value for every member of its domain. Terms that apply partial functions thus may not denote, and coping with such terms is problematic in two-valued classical logic. A question is raised: how can reasoning about logical formulae that can contain references to terms th...

متن کامل

The connection between two ways of reasoning about partial functions

This paper addresses the relationship between the theorems derived in two logics that provide alternative ways of reasoning about partial functions. Theorems in the Logic of Partial Functions using weak equality can be directly translated into First Order Predicate Calculus using existential equality. Translation in the other direction is, in general, more complicated but simplifies pleasingly ...

متن کامل

Reasoning about Graph Programs

GP 2 is a non-deterministic programming language for computing by graph transformation. One of the design goals for GP 2 is syntactic and semantic simplicity, to facilitate formal reasoning about programs. In this paper, we demonstrate with four case studies how programmers can prove termination and partial correctness of their solutions. We argue that GP 2’s graph transformation rules, togethe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 145  شماره 

صفحات  -

تاریخ انتشار 2006